package cn.fuxue.hrms.common.entity;
import java.sql.Timestamp;
/**
 * @author 王文勇
 * @version 1.0
 * 审批日志实体类
 */
public class ApprovalLog {
    // 审批日志记录的唯一标识 ID，主键
    private int id;
    // 审批实例 ID，外键，关联 approval_instance 表，标识该日志记录所属的审批实例
    private Integer instanceId;
    // 审批步骤 ID，外键，用于确定该日志记录在审批流程中对应的步骤
    private Integer stepId;
    // 审批人 ID，外键，记录执行审批操作的人员 ID
    private Integer approverId;
    // 描述信息，用于简要说明审批操作的内容
    private String description;
    // 备注，可记录关于此次审批的额外信息或说明
    private String remark;
    // 最后修改该日志记录的用户 ID
    private Integer modifyId;
    // 创建该日志记录的用户 ID
    private Integer createId;
    // 是否删除，布尔值，标识该日志记录是否被逻辑删除
    private boolean isDeleted;
    // 创建时间，记录日志记录创建的日期和时间
    private Timestamp createTime;
    // 更新时间，记录日志记录最后一次被修改的日期和时间
    private Timestamp updateTime;

    // 无参构造函数
    public ApprovalLog() {
    }

    // 全参构造函数
    public ApprovalLog(int id, Integer instanceId, Integer stepId, Integer approverId,
                       String description, String remark, Integer modifyId,
                       Integer createId, boolean isDeleted, Timestamp createTime,
                       Timestamp updateTime) {
        this.id = id;
        this.instanceId = instanceId;
        this.stepId = stepId;
        this.approverId = approverId;
        this.description = description;
        this.remark = remark;
        this.modifyId = modifyId;
        this.createId = createId;
        this.isDeleted = isDeleted;
        this.createTime = createTime;
        this.updateTime = updateTime;
    }

    // Getter 和 Setter 方法
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public Integer getInstanceId() {
        return instanceId;
    }

    public void setInstanceId(Integer instanceId) {
        this.instanceId = instanceId;
    }

    public Integer getStepId() {
        return stepId;
    }

    public void setStepId(Integer stepId) {
        this.stepId = stepId;
    }

    public Integer getApproverId() {
        return approverId;
    }

    public void setApproverId(Integer approverId) {
        this.approverId = approverId;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getModifyId() {
        return modifyId;
    }

    public void setModifyId(Integer modifyId) {
        this.modifyId = modifyId;
    }

    public Integer getCreateId() {
        return createId;
    }

    public void setCreateId(Integer createId) {
        this.createId = createId;
    }

    public boolean isDeleted() {
        return isDeleted;
    }

    public void setDeleted(boolean deleted) {
        isDeleted = deleted;
    }

    public Timestamp getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Timestamp createTime) {
        this.createTime = createTime;
    }

    public Timestamp getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Timestamp updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        return "ApprovalLog{" +
                "id=" + id +
                ", instanceId=" + instanceId +
                ", stepId=" + stepId +
                ", approverId=" + approverId +
                ", description='" + description + '\'' +
                ", remark='" + remark + '\'' +
                ", modifyId=" + modifyId +
                ", createId=" + createId +
                ", isDeleted=" + isDeleted +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                '}';
    }
}